package com.woniu.airent.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.woniu.airent.entity.User;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@JsonIgnoreProperties(value = { "handler" })
public class HouseDto {
    private Integer houseId;

    private Integer userId;

    private UserDto userDto;

    private String houseNumber;

    private String houseCoordinateX;

    private String houseCoordinateY;

    private String houseArea;

    private int rentPrice;

    private String tel;

    private String houseCity;

    private String villageName;

    private String detailedAddress;

    private String rentType;

    private String houseResource;

    private Double houseMeasure;

    private String houseType;

    private String houseTypeId;

    private String orientation;

    private Integer metro;

    private Integer floor;

    private Integer elvator;

    private String payment;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date liveDate;//最早入住时间
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date rentDate;

    private Date updateDate;

    private Integer houseState;

    private Integer examine;

    private String content;

    private List<ImgsDto> imgs;

    private List<ItemsDto> items = new ArrayList<>();

    private List<ItemsDto> itemsDtos = new ArrayList<>();

    private List<ExtraDto> extras;

    private String firstImg;





    private List<String> imgAddress;

    //--接受设备数据
    private List<Integer> facility;
    //--接受额外缴费数据
    private List<Integer> extraPay;

    //--接受设备名称数据
    private List<String> fac;

    public List<Integer> getFacility() {
        return facility;
    }

    @Override
    public String toString() {
        return "HouseDto{" +
                "houseId=" + houseId +
                ", userId=" + userId +
                ", userDto=" + userDto +
                ", houseNumber='" + houseNumber + '\'' +
                ", houseCoordinateX='" + houseCoordinateX + '\'' +
                ", houseCoordinateY='" + houseCoordinateY + '\'' +
                ", houseArea='" + houseArea + '\'' +
                ", rentPrice=" + rentPrice +
                ", tel='" + tel + '\'' +
                ", houseCity='" + houseCity + '\'' +
                ", villageName='" + villageName + '\'' +
                ", detailedAddress='" + detailedAddress + '\'' +
                ", rentType='" + rentType + '\'' +
                ", houseResource='" + houseResource + '\'' +
                ", houseMeasure=" + houseMeasure +
                ", houseType='" + houseType + '\'' +
                ", houseTypeId='" + houseTypeId + '\'' +
                ", orientation='" + orientation + '\'' +
                ", metro=" + metro +
                ", floor=" + floor +
                ", elvator=" + elvator +
                ", payment='" + payment + '\'' +
                ", liveDate=" + liveDate +
                ", rentDate=" + rentDate +
                ", updateDate=" + updateDate +
                ", houseState=" + houseState +
                ", examine=" + examine +
                ", content='" + content + '\'' +
                ", imgs=" + imgs +
                ", items=" + items +
                ", itemsDtos=" + itemsDtos +
                ", extras=" + extras +
                ", firstImg='" + firstImg + '\'' +
                ", imgAddress=" + imgAddress +
                ", facility=" + facility +
                ", extraPay=" + extraPay +
                ", fac=" + fac +
                ", pay=" + pay +
                ", user=" + user +
                '}';
    }

    public String getFirstImg() {
        return firstImg;
    }

    public void setFirstImg(String firstImg) {
        this.firstImg = firstImg;
    }

    public List<ItemsDto> getItemsDtos() {
        return itemsDtos;
    }

    public void setItemsDtos(List<ItemsDto> itemsDtos) {
        this.itemsDtos = itemsDtos;
    }

    public String getHouseTypeId() {
        return houseTypeId;
    }

    public void setHouseTypeId(String houseTypeId) {
        this.houseTypeId = houseTypeId;
    }

    public void setFacility(List<Integer> facility) {
        this.facility = facility;
    }

    public List<Integer> getExtraPay() {
        return extraPay;
    }

    public void setExtraPay(List<Integer> extraPay) {
        this.extraPay = extraPay;
    }

    public List<String> getFac() {
        return fac;
    }

    public void setFac(List<String> fac) {
        this.fac = fac;
    }

    public List<String> getPay() {
        return pay;
    }

    public void setPay(List<String> pay) {
        this.pay = pay;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    //--接受额外缴费名称数据
    private List<String> pay;

    private User user;

    public List<String> getImgAddress() {
        return imgAddress;
    }

    public void setImgAddress(List<String> imgAddress) {
        this.imgAddress = imgAddress;
    }

    public Date getLiveDate() {
        return liveDate;
    }

    public void setLiveDate(Date liveDate) {
        this.liveDate = liveDate;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public UserDto getUserDto() {
        return userDto;
    }

    public void setUserDto(UserDto userDto) {
        this.userDto = userDto;
    }

    public List<ImgsDto> getImgs() {
        return imgs;
    }

    public void setImgs(List<ImgsDto> imgs) {
        this.imgs = imgs;
    }

    public List<ItemsDto> getItems() {
        return items;
    }

    public void setItems(List<ItemsDto> items) {
        this.items = items;
    }

    public List<ExtraDto> getExtras() {
        return extras;
    }

    public void setExtras(List<ExtraDto> extras) {
        this.extras = extras;
    }

    public Integer getHouseId() {
        return houseId;
    }

    public void setHouseId(Integer houseId) {
        this.houseId = houseId;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getHouseNumber() {
        return houseNumber;
    }

    public void setHouseNumber(String houseNumber) {
        this.houseNumber = houseNumber == null ? null : houseNumber.trim();
    }

    public String getHouseCoordinateX() {
        return houseCoordinateX;
    }

    public void setHouseCoordinateX(String houseCoordinateX) {
        this.houseCoordinateX = houseCoordinateX == null ? null : houseCoordinateX.trim();
    }

    public String getHouseCoordinateY() {
        return houseCoordinateY;
    }

    public void setHouseCoordinateY(String houseCoordinateY) {
        this.houseCoordinateY = houseCoordinateY == null ? null : houseCoordinateY.trim();
    }

    public String getHouseArea() {
        return houseArea;
    }

    public void setHouseArea(String houseArea) {
        this.houseArea = houseArea == null ? null : houseArea.trim();
    }

    public String getVillageName() {
        return villageName;
    }

    public void setVillageName(String villageName) {
        this.villageName = villageName == null ? null : villageName.trim();
    }

    public String getDetailedAddress() {
        return detailedAddress;
    }

    public void setDetailedAddress(String detailedAddress) {
        this.detailedAddress = detailedAddress == null ? null : detailedAddress.trim();
    }

    public String getRentType() {
        return rentType;
    }

    public void setRentType(String rentType) {
        this.rentType = rentType == null ? null : rentType.trim();
    }

    public String getHouseResource() {
        return houseResource;
    }

    public void setHouseResource(String houseResource) {
        this.houseResource = houseResource == null ? null : houseResource.trim();
    }

    public Double getHouseMeasure() {
        return houseMeasure;
    }

    public void setHouseMeasure(Double houseMeasure) {
        this.houseMeasure = houseMeasure;
    }

    public String getHouseType() {
        return houseType;
    }

    public void setHouseType(String houseType) {
        this.houseType = houseType == null ? null : houseType.trim();
    }

    public String getOrientation() {
        return orientation;
    }

    public void setOrientation(String orientation) {
        this.orientation = orientation == null ? null : orientation.trim();
    }

    public Integer getMetro() {
        return metro;
    }

    public void setMetro(Integer metro) {
        this.metro = metro;
    }

    public Integer getFloor() {
        return floor;
    }

    public void setFloor(Integer floor) {
        this.floor = floor;
    }

    public Integer getElvator() {
        return elvator;
    }

    public void setElvator(Integer elvator) {
        this.elvator = elvator;
    }

    public String getPayment() {
        return payment;
    }

    public void setPayment(String payment) {
        this.payment = payment == null ? null : payment.trim();
    }

    public Date getRentDate() {
        return rentDate;
    }

    public void setRentDate(Date rentDate) {
        this.rentDate = rentDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Integer getHouseState() {
        return houseState;
    }

    public void setHouseState(Integer houseState) {
        this.houseState = houseState;
    }

    public Integer getExamine() {
        return examine;
    }

    public void setExamine(Integer examine) {
        this.examine = examine;
    }

    public int getRentPrice() {
        return rentPrice;
    }

    public void setRentPrice(int rentPrice) {
        this.rentPrice = rentPrice;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getHouseCity() {
        return houseCity;
    }

    public void setHouseCity(String houseCity) {
        this.houseCity = houseCity;
    }

}
